package cn.i96688.scanclient.utils;

import java.util.Random;

public class BarcodeUtil {
	public static String getPayType(String barcode){
		String payType="";
		int num=Integer.parseInt(barcode.substring(0,2));
		//18 为微信及支付宝
		if(barcode.length()==18){
			//微信条码开头两位：10、11、12、13、14、15
			if(num>=10 && num<=15){
				payType="1";//微信支付
			}else if(num==28){//28开头，支付宝
				payType="2";//支付宝支付
			}else{
				System.err.println("条码“"+barcode+"”不是微信或支付宝条码，非法条码");
				payType="";
			}
		}else{
			System.err.println("条码“"+barcode+"”长度不为18，非法条码");
			payType="";
		}
		return payType;
	}
	
	public static boolean check(String barcode){
		String payChannel=getPayType(barcode);
		return payChannel.length()>0;
	}
	/**
	 * 测试条码18位
	 * @return
	 */
	public static String getTestCode() {
		int[] codeType=new int[] {10,11,12,13,14,15,28};
		int index=new Random().nextInt(7);
		int code1=new Random().nextInt(50000000)+10000000;
		int code2=new Random().nextInt(50000000)+10000000;
		return new StringBuilder().append(codeType[index]).append(code1).append(code2).toString();
	}
	
}
